

# main.cpp中引用了t3中实现的 hello库相关内容，这里需要将编译好的库引用进来
# 需要的东西就是hello.h 和 libhello


INCLUDE_DIRECTORIES(/home/sy/workspace/cmake_test/t3/build/install/include/hello)
# 为了找到之前编译的hello.h 需要使用INCLUDE_DIRECTORIES指令加入头文件所在的文件夹
# 这个指令可以用来向工程添加多个特定的头文件搜索路径，路径之间使用空格分割，如果路径中包括空格，则可以使用双引号引起来
# 默认的行为是追加到当前的头文件搜索路径的后面，通过指定AFTER、BEFORE可以控制是追加还是前置
# 或者SET CMAKE_INCLUDE_DIRECTORIES_BEFORE 为 ON，切换为前置模式
# 语法 INCLUDE_DIRECTORIES(
#        [AFTER|BEFORE]
#        [SYSTEM]
#        dir1 dir2 ...
#)


# 为了链接libhello需要使用到LINK_DIRECTORIES和TARGET_LINK_LIBRARIES

# LINK_DIRECTORIES 是添加非标准的共享库的搜索路径，如果在工程内部同事存在共享库和可执行二进制，在编译时就需要指定一下这些共享库的路径
# 语法 LINK_DIRECTORIES(directory1 directory2 ...)

LINK_DIRECTORIES(/home/sy/workspace/cmake_test/t3/build/install/lib)
# 注意LINK_DIRECTORIES要放在ADD_EXECUTABLE 和 ADD_LIBRARY之前
ADD_EXECUTABLE(main main.cpp)

# TARGET_LINK_LIBRARIES 是为target添加需要链接的共享库，target可以是执行文件（例如本例）也可以是库
# 语法 TARGET_LINK_LIBRARIES(
#        target
#        library1<debug | optimized>
#        library2...)

TARGET_LINK_LIBRARIES(main hello)
# 也可以直接指定共享库名
# TARGET_LINK_LIBRARIES(main libhello.so)
# TARGET_LINK_LIBRARIES(main /home/sy/workspace/cmake_test/t3/build/install/lib/libhello.a)# 也可以直接指定共享库名



# 影响CMAKE的两个【环境变量】 CMAKE_INCLUDE_PATH 和 CMAKE_LIBRARY_PATH
# 设置这两个变量可以让CMAKE自动加入INCLUDE路径和LIBRARY路径
# 可以使用bash EXPORT命令或者在csh总使用set命令设置
# 一般是用于弥补出了常规路径(/usr/include, /usr/local/include等)以外的路径
# 设置了CMAKE_INCLUDE_PATH以后 可以使用 FIND 进行添加 而不用使用INCLUDE_DIRECTORIES
# 不使用FIND_PATH CMAKE_INCLUDE_PATH是没用的

#FIND_PATH(myHeader hello.h)
#IF(myHeader)
#    INCLUDE_DIRECTORIES(${myHeader})
#ENDIF(myHeader)